package com.glodon.ggzy.user.service;

import java.util.List;

import com.glodon.ggzy.core.model.Page;
import com.glodon.ggzy.core.utils.PageSearchModel;
import com.glodon.ggzy.entity.JgMenu;
import com.glodon.ggzy.entity.JgRole;
import com.glodon.ggzy.entity.JgUser;
import com.glodon.ggzy.vo.AuthorityMenu;

/**
 * 
 * 
 * 监管平台用户管理出来service接口
 * @author yangjf
 * @since jdk1.6
 * @date 2013-7-1
 *
 */
public interface IJgptUserService {

	/**
	 * 
	 * 校验用户名和密码
	 * @param userName
	 * @param password
	 * @return
	 */
	public boolean checkUser(String userName, String password);

	/**
	 * 
	 * 查找用户
	 * @param userName
	 * @param password
	 * @return
	 */
	public JgUser findUser(String userName, String password);

	/**
	 * 
	 * 查找权限
	 * @param userId
	 * @return
	 */
	public List<AuthorityMenu> queryAuthorityByUserId(String userId);

	/**
	 * 
	 * 查询菜单信息
	 * @param queryModel
	 * @param name
	 * @return
	 */
	public Page queryJgptMenu(PageSearchModel queryModel, String name);

	/**
	 * 
	 * 保存菜单
	 * @param meun
	 * @return
	 */
	public boolean saveJgptMenu(JgMenu menu);

	/**
	 * 
	 * 查询角色信息
	 * @param queryModel
	 * @param name
	 * @return
	 */
	public Page queryJgptRole(PageSearchModel queryModel, String name);

	/**
	 * 
	 * 获取所有菜单
	 * @return
	 */
	public List<JgMenu> getJgMenuAll();

	/**
	 * 
	 * 保存角色
	 * @param meun
	 * @return
	 */
	public boolean saveJgptRole(JgRole role, String menuIds);

	/**
	 * 
	 * 根据角色Id获取菜单名称
	 * @param roleId
	 * @return
	 */
	public String getMeunNameByRoleId(String roleId);

	/**
	 * 
	 * 查询用户信息
	 * @param queryModel
	 * @param name
	 * @return
	 */
	public Page queryJgptUser(PageSearchModel queryModel, String name);

	/**
	 * 
	 * 保存用户
	 * @param meun
	 * @return
	 */
	public boolean saveJgptUser(JgUser user);

	/**
	 * 
	 * 根据ID获取实体类
	 * @param id
	 * @return
	 */
	public JgMenu getJgMenuById(String id);

	/**
	 * 
	 * 根据ID获取实体类
	 * @param id
	 * @return
	 */
	public JgRole getJgRoleById(String id);

	/**
	 * 
	 * 获取角色信息
	 * @return
	 */
	public List<JgRole> getJgRoleAll();

	/**
	 * 
	 * 判断用是否存在
	 * @param userName
	 * @return
	 */
	public JgUser isUserNameExist(String userName);

	/**
	 * 
	 * 根据用户ID删除用户
	 * @param id
	 */
	public void deletJgUserById(String id);

	/**
	 * 
	 * 根据ID获取用户对象
	 * @param id
	 * @return
	 */
	public JgUser getJgUserById(String id);

	/**
	 * 
	 * 获取选中的菜单
	 * @param roleId
	 * @return
	 */
	public String getCheckedMenuId(String roleId, String menuId);

	/**
	 * 
	 * 根据用户ID删除角色
	 * @param id
	 */
	public void deletJgRoleById(String id);

	/**
	 * 
	 * 根据ID删除菜单
	 * @param id
	 */
	public void deletJgMenuById(String id);

}
